#include "key.h"


KEY_TYPE key_scan(void)
{
    //按键1
    if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin) == GPIO_PIN_RESET)
    {
        vTaskDelay(10);
        if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin) == GPIO_PIN_RESET)
        {
            while (1)
            {
                if(HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin) == GPIO_PIN_SET)
                {
                    printf("key1 down\r\n");
                    return COM_KEY1_DOWN;
                }
            }
            
        }
    }


    if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin) == GPIO_PIN_RESET)
    {
        vTaskDelay(10);
        if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin) == GPIO_PIN_RESET)
        {
            while (1)
            {
                if(HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin) == GPIO_PIN_SET)
                {
                    printf("KEY2_DOWN\r\n");
                    return COM_KEY2_DOWN;
                }
            }  
        }
    }


    if(HAL_GPIO_ReadPin(KEY3_GPIO_Port,KEY3_Pin) == GPIO_PIN_RESET)
    {
        vTaskDelay(10);
        if(HAL_GPIO_ReadPin(KEY3_GPIO_Port,KEY3_Pin) == GPIO_PIN_RESET)
        {
            while (1)
            {
                if(HAL_GPIO_ReadPin(KEY3_GPIO_Port,KEY3_Pin) == GPIO_PIN_SET)
                {
                    printf("KEY3_DOWN\r\n");
                    return COM_KEY3_DOWN;
                }
            }
            
        }
    }


    if(HAL_GPIO_ReadPin(KEY4_GPIO_Port,KEY4_Pin) == GPIO_PIN_RESET)
    {
        vTaskDelay(10);
        if(HAL_GPIO_ReadPin(KEY4_GPIO_Port,KEY4_Pin) == GPIO_PIN_RESET)
        {
            while (1)
            {
                if(HAL_GPIO_ReadPin(KEY4_GPIO_Port,KEY4_Pin) == GPIO_PIN_SET)
                {
                    printf("KEY4_DOWN\r\n");
                    return COM_KEY4_DOWN;
                }
            }
            
        }
    }
    return COM_NONE;
}

